package com.akuhome.resource.DO.need;

import com.akuhome.resource.enums.NeedStatus;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

public class AccNeed implements Need<AccNeedDetail>{
    Integer id;
    //开房方式（0：同批，1：分批）
    Boolean checkInWay;
    //备注
    String detail;
    //审批状态
    NeedStatus needStatus;
    Timestamp createTime;
    Timestamp updateTime;
    String projectUid;
    List<AccNeedDetail> detailList;

    public AccNeed() {
        checkInWay = false;
        detail = "";
        detailList = new ArrayList<>();
    }

    public AccNeed(Boolean checkInWay, NeedStatus needStatus) {
        this.checkInWay = checkInWay;
        this.needStatus = needStatus;
    }

    public AccNeed(Boolean checkInWay, Integer needStatus) {
        this.checkInWay = checkInWay;
        this.needStatus = NeedStatus.valueOf(needStatus);
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Boolean getCheckInWay() {
        return checkInWay;
    }

    public void setCheckInWay(Boolean checkInWay) {
        this.checkInWay = checkInWay;
    }

    public String getDetail() {
        return detail;
    }

    public void setDetail(String detail) {
        this.detail = detail;
    }

    public NeedStatus getNeedStatus() {
        return needStatus;
    }

    public void setNeedStatus(NeedStatus needStatus) {
        this.needStatus = needStatus;
    }

    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    public String getProjectUid() {
        return projectUid;
    }

    public void setProjectUid(String projectUid) {
        this.projectUid = projectUid;
    }

    public List<AccNeedDetail> getDetailList() {
        return detailList;
    }

    public void setDetailList(List<AccNeedDetail> detailList) {
        this.detailList = detailList;
    }

    @Override
    public String toString() {
        return "AccNeed{" +
                "id=" + id +
                ", checkInWay=" + checkInWay +
                ", detail='" + detail + '\'' +
                ", needStatus=" + needStatus +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", projectUid='" + projectUid + '\'' +
                ", detailList=" + detailList +
                '}';
    }
}
